
const fs=require('fs')
// 换行
const {EOL}=require('os')

// // 导入时间中间件moment
const moment = require('moment')

// 定义记录日志的自定义中间件
module.exports=(req,res,next)=>{
    // 获取客户端ip
    let ip=req.ip
    // 获取日期，使用moment中间件，npm install moment
    let time=moment().format('YYYY-MM-DD HH:mm:ss')
    // 请求方式
    let method=req.method
    // 请求路径
    let uri=req.url
    // 请求状态，假设都是成功，如果报错在下面的报错函数里将ok状态改为错误
    let status=' 请求状态：ok'
    // 拼接内容
    let text=ip+' '+time+' '+method+' '+uri+' '+status
    // 判断现在是否有日志(因为日志里的每条内容都连在一起不好看，所以判断是否有内容，有就拼接上换行)
    // 判断日志文件是否存在
    let bool = fs.existsSync('./logs/ordermeal.log')
    if(bool) {
        // 判断现在是否有日志
        let log = fs.readFileSync('./logs/ordermeal.log', 'utf-8')
        if(log) {
            text = EOL + text
        }
    }
    // 记录，fs模块
    fs.appendFileSync('./logs/ordermeal.log',text)
    next()
}
